{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Copyright (c) MONAI Consortium  \n",
    "Licensed under the Apache License, Version 2.0 (the \"License\");  \n",
    "you may not use this file except in compliance with the License.  \n",
    "You may obtain a copy of the License at  \n",
    "&nbsp;&nbsp;&nbsp;&nbsp;http://www.apache.org/licenses/LICENSE-2.0  \n",
    "Unless required by applicable law or agreed to in writing, software  \n",
    "distributed under the License is distributed on an \"AS IS\" BASIS,  \n",
    "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  \n",
    "See the License for the specific language governing permissions and  \n",
    "limitations under the License.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load CSV files with `CSV Datasets`\n",
    "\n",
    "This tutorial shows how to load data from CSV files based on the `CSVDataset` and `CSVIterableDataset` modules. And execute post-processing logic on the data.\n",
    "\n",
    "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Project-MONAI/tutorials/blob/main/modules/csv_datasets.ipynb)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setup environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "!python -c \"import monai\" || pip install -q \"monai-weekly[pandas, pillow]\"\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setup imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import tempfile\n",
    "import shutil\n",
    "import sys\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import PIL\n",
    "import numpy as np\n",
    "\n",
    "from monai.data import CSVDataset, CSVIterableDataset, DataLoader\n",
    "from monai.apps import download_and_extract\n",
    "from monai.config import print_config\n",
    "from monai.transforms import Compose, LoadImaged, ToNumpyd\n",
    "\n",
    "print_config()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setup data directory\n",
    "\n",
    "You can specify a directory with the `MONAI_DATA_DIRECTORY` environment variable.  \n",
    "This allows you to save results and reuse downloads.  \n",
    "If not specified a temporary directory will be used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/workspace/data/medical\n"
     ]
    }
   ],
   "source": [
    "directory = os.environ.get(\"MONAI_DATA_DIRECTORY\")\n",
    "if directory is not None:\n",
    "    os.makedirs(directory, exist_ok=True)\n",
    "root_dir = tempfile.mkdtemp() if directory is None else directory\n",
    "print(root_dir)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Download dataset\n",
    "\n",
    "Here we use several images of MedNIST dataset in the demo. Downloads and extracts the dataset.\n",
    "\n",
    "The MedNIST dataset was gathered from several sets from [TCIA](https://wiki.cancerimagingarchive.net/display/Public/Data+Usage+Policies+and+Restrictions),\n",
    "[the RSNA Bone Age Challenge](http://rsnachallenges.cloudapp.net/competitions/4),\n",
    "and [the NIH Chest X-ray dataset](https://cloud.google.com/healthcare/docs/resources/public-datasets/nih-chest).\n",
    "\n",
    "The dataset is kindly made available by [Dr. Bradley J. Erickson M.D., Ph.D.](https://www.mayo.edu/research/labs/radiology-informatics/overview) (Department of Radiology, Mayo Clinic)\n",
    "under the Creative Commons [CC BY-SA 4.0 license](https://creativecommons.org/licenses/by-sa/4.0/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "resource = \"https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/MedNIST.tar.gz\"\n",
    "md5 = \"0bc7306e7427e00ad1c5526a6677552d\"\n",
    "\n",
    "compressed_file = os.path.join(root_dir, \"MedNIST.tar.gz\")\n",
    "data_dir = os.path.join(root_dir, \"MedNIST\")\n",
    "if not os.path.exists(data_dir):\n",
    "    download_and_extract(resource, compressed_file, root_dir, md5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Plot several medical images in the hand category"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x720 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplots(1, 5, figsize=(10, 10))\n",
    "for i in range(5):\n",
    "    filename = f\"00000{i}.jpeg\"\n",
    "    im = PIL.Image.open(os.path.join(data_dir, \"Hand\", filename))\n",
    "    arr = np.array(im)\n",
    "    plt.subplot(3, 3, i + 1)\n",
    "    plt.xlabel(filename)\n",
    "    plt.imshow(arr, cmap=\"gray\", vmin=0, vmax=255)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Generate 3 CSV files for test\n",
    "Here we generate 3 CSV files to store properties of the images, contains missing values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_data1 = [\n",
    "    [\"subject_id\", \"label\", \"image\", \"ehr_0\", \"ehr_1\", \"ehr_2\"],\n",
    "    [\"s000000\", 5, os.path.join(data_dir, \"Hand\", \"000000.jpeg\"), 2.007843256, 2.29019618, 2.054902077],\n",
    "    [\"s000001\", 0, os.path.join(data_dir, \"Hand\", \"000001.jpeg\"), 6.839215755, 6.474509716, 5.862744808],\n",
    "    [\"s000002\", 4, os.path.join(data_dir, \"Hand\", \"000002.jpeg\"), 3.772548914, 4.211764812, 4.635294437],\n",
    "    [\"s000003\", 1, os.path.join(data_dir, \"Hand\", \"000003.jpeg\"), 3.333333254, 3.235294342, 3.400000095],\n",
    "    [\"s000004\", 9, os.path.join(data_dir, \"Hand\", \"000004.jpeg\"), 6.427451134, 6.254901886, 5.976470947],\n",
    "]\n",
    "test_data2 = [\n",
    "    [\"subject_id\", \"ehr_3\", \"ehr_4\", \"ehr_5\", \"ehr_6\", \"ehr_7\", \"ehr_8\"],\n",
    "    [\"s000000\", 3.019608021, 3.807843208, 3.584313869, 3.141176462, 3.1960783, 4.211764812],\n",
    "    [\"s000001\", 5.192157269, 5.274509907, 5.250980377, 4.647058964, 4.886274338, 4.392156601],\n",
    "    [\"s000002\", 5.298039436, 9.545097351, 12.57254887, 6.799999714, 2.1960783, 1.882352948],\n",
    "    [\"s000003\", 3.164705753, 3.086274624, 3.725490093, 3.698039293, 3.698039055, 3.701960802],\n",
    "    [\"s000004\", 6.26274538, 7.717647076, 9.584313393, 6.082352638, 2.662744999, 2.34117651],\n",
    "]\n",
    "test_data3 = [\n",
    "    [\"subject_id\", \"ehr_9\", \"ehr_10\", \"meta_0\", \"meta_1\", \"meta_2\"],\n",
    "    [\"s000000\", 6.301961422, 6.470588684, \"TRUE\", \"TRUE\", \"TRUE\"],\n",
    "    [\"s000001\", 5.219608307, 7.827450752, \"FALSE\", \"TRUE\", \"FALSE\"],\n",
    "    [\"s000002\", 1.882352948, 2.031372547, \"TRUE\", \"FALSE\", \"TRUE\"],\n",
    "    [\"s000003\", 3.309803963, 3.729412079, \"FALSE\", \"FALSE\", \"TRUE\"],\n",
    "    [\"s000004\", 2.062745094, 2.34117651, \"FALSE\", \"TRUE\", \"TRUE\"],\n",
    "    # generate missing values in the row\n",
    "    [\"s000005\", 3.353655643, 1.675674543, \"TRUE\", \"TRUE\", \"FALSE\"],\n",
    "]\n",
    "\n",
    "\n",
    "def prepare_csv_file(data, filepath):\n",
    "    with open(filepath, \"w\") as f:\n",
    "        for d in data:\n",
    "            f.write((\",\".join([str(i) for i in d])) + \"\\n\")\n",
    "\n",
    "\n",
    "filepath1 = os.path.join(data_dir, \"test_data1.csv\")\n",
    "filepath2 = os.path.join(data_dir, \"test_data2.csv\")\n",
    "filepath3 = os.path.join(data_dir, \"test_data3.csv\")\n",
    "prepare_csv_file(test_data1, filepath1)\n",
    "prepare_csv_file(test_data2, filepath2)\n",
    "prepare_csv_file(test_data3, filepath3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load a single CSV file with `CSVDataset`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  subject_id  label                                             image  \\\n",
      "0    s000000      5  /workspace/data/medical/MedNIST/Hand/000000.jpeg   \n",
      "1    s000001      0  /workspace/data/medical/MedNIST/Hand/000001.jpeg   \n",
      "2    s000002      4  /workspace/data/medical/MedNIST/Hand/000002.jpeg   \n",
      "3    s000003      1  /workspace/data/medical/MedNIST/Hand/000003.jpeg   \n",
      "4    s000004      9  /workspace/data/medical/MedNIST/Hand/000004.jpeg   \n",
      "\n",
      "      ehr_0     ehr_1     ehr_2  \n",
      "0  2.007843  2.290196  2.054902  \n",
      "1  6.839216  6.474510  5.862745  \n",
      "2  3.772549  4.211765  4.635294  \n",
      "3  3.333333  3.235294  3.400000  \n",
      "4  6.427451  6.254902  5.976471  \n"
     ]
    }
   ],
   "source": [
    "dataset = CSVDataset(src=filepath1)\n",
    "# construct pandas table to show the data, `CSVDataset` inherits from PyTorch Dataset\n",
    "print(pd.DataFrame(dataset.data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load multiple CSV files and join the tables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  subject_id  label                                             image  \\\n",
      "0    s000000      5  /workspace/data/medical/MedNIST/Hand/000000.jpeg   \n",
      "1    s000001      0  /workspace/data/medical/MedNIST/Hand/000001.jpeg   \n",
      "2    s000002      4  /workspace/data/medical/MedNIST/Hand/000002.jpeg   \n",
      "3    s000003      1  /workspace/data/medical/MedNIST/Hand/000003.jpeg   \n",
      "4    s000004      9  /workspace/data/medical/MedNIST/Hand/000004.jpeg   \n",
      "\n",
      "      ehr_0     ehr_1     ehr_2     ehr_3     ehr_4      ehr_5     ehr_6  \\\n",
      "0  2.007843  2.290196  2.054902  3.019608  3.807843   3.584314  3.141176   \n",
      "1  6.839216  6.474510  5.862745  5.192157  5.274510   5.250980  4.647059   \n",
      "2  3.772549  4.211765  4.635294  5.298039  9.545097  12.572549  6.800000   \n",
      "3  3.333333  3.235294  3.400000  3.164706  3.086275   3.725490  3.698039   \n",
      "4  6.427451  6.254902  5.976471  6.262745  7.717647   9.584313  6.082353   \n",
      "\n",
      "      ehr_7     ehr_8     ehr_9    ehr_10  meta_0  meta_1  meta_2  \n",
      "0  3.196078  4.211765  6.301961  6.470589    True    True    True  \n",
      "1  4.886274  4.392157  5.219608  7.827451   False    True   False  \n",
      "2  2.196078  1.882353  1.882353  2.031373    True   False    True  \n",
      "3  3.698039  3.701961  3.309804  3.729412   False   False    True  \n",
      "4  2.662745  2.341177  2.062745  2.341177   False    True    True  \n"
     ]
    }
   ],
   "source": [
    "dataset = CSVDataset(src=[filepath1, filepath2, filepath3], on=\"subject_id\")\n",
    "# construct pandas table to show the joined data of 3 tables\n",
    "print(pd.DataFrame(dataset.data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Only load selected rows and selected columns from 3 CSV files\n",
    "Here we load rows: 0 - 1 and 3, columns: \"subject_id\", \"label\", \"ehr_1\", \"ehr_7\", \"meta_1\"."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  subject_id  label     ehr_1     ehr_7  meta_1\n",
      "0    s000000      5  2.290196  3.196078    True\n",
      "1    s000001      0  6.474510  4.886274    True\n",
      "2    s000003      1  3.235294  3.698039   False\n"
     ]
    }
   ],
   "source": [
    "dataset = CSVDataset(\n",
    "    src=[filepath1, filepath2, filepath3],\n",
    "    row_indices=[[0, 2], 3],  # load row: 0, 1, 3\n",
    "    col_names=[\"subject_id\", \"label\", \"ehr_1\", \"ehr_7\", \"meta_1\"],\n",
    ")\n",
    "# construct pandas table to show the joined and selected data\n",
    "print(pd.DataFrame(dataset.data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load and group columns to generate new columns\n",
    "Here we load 3 CSV files and group all the `ehr_*` columns to generate a new `ehr` column, and group all the `meta_*` columns to generate a new `meta` column."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  subject_id                                             image     ehr_0  \\\n",
      "0    s000000  /workspace/data/medical/MedNIST/Hand/000000.jpeg  2.007843   \n",
      "1    s000001  /workspace/data/medical/MedNIST/Hand/000001.jpeg  6.839216   \n",
      "2    s000002  /workspace/data/medical/MedNIST/Hand/000002.jpeg  3.772549   \n",
      "3    s000003  /workspace/data/medical/MedNIST/Hand/000003.jpeg  3.333333   \n",
      "4    s000004  /workspace/data/medical/MedNIST/Hand/000004.jpeg  6.427451   \n",
      "\n",
      "      ehr_1     ehr_2     ehr_3     ehr_4      ehr_5     ehr_6     ehr_7  \\\n",
      "0  2.290196  2.054902  3.019608  3.807843   3.584314  3.141176  3.196078   \n",
      "1  6.474510  5.862745  5.192157  5.274510   5.250980  4.647059  4.886274   \n",
      "2  4.211765  4.635294  5.298039  9.545097  12.572549  6.800000  2.196078   \n",
      "3  3.235294  3.400000  3.164706  3.086275   3.725490  3.698039  3.698039   \n",
      "4  6.254902  5.976471  6.262745  7.717647   9.584313  6.082353  2.662745   \n",
      "\n",
      "      ehr_8     ehr_9    ehr_10  meta_0  meta_1  meta_2  \\\n",
      "0  4.211765  6.301961  6.470589    True    True    True   \n",
      "1  4.392157  5.219608  7.827451   False    True   False   \n",
      "2  1.882353  1.882353  2.031373    True   False    True   \n",
      "3  3.701961  3.309804  3.729412   False   False    True   \n",
      "4  2.341177  2.062745  2.341177   False    True    True   \n",
      "\n",
      "                                                 ehr                  meta  \n",
      "0  [2.007843256, 2.29019618, 2.054902077, 3.01960...    [True, True, True]  \n",
      "1  [6.839215755, 6.474509716, 5.862744808, 5.1921...  [False, True, False]  \n",
      "2  [3.772548914, 4.211764812, 4.635294437, 5.2980...   [True, False, True]  \n",
      "3  [3.333333254, 3.235294342, 3.400000095, 3.1647...  [False, False, True]  \n",
      "4  [6.427451134, 6.254901886, 5.976470947, 6.2627...   [False, True, True]  \n"
     ]
    }
   ],
   "source": [
    "dataset = CSVDataset(\n",
    "    src=[filepath1, filepath2, filepath3],\n",
    "    col_names=[\"subject_id\", \"image\", *[f\"ehr_{i}\" for i in range(11)], \"meta_0\", \"meta_1\", \"meta_2\"],\n",
    "    col_groups={\"ehr\": [f\"ehr_{i}\" for i in range(11)], \"meta\": [\"meta_0\", \"meta_1\", \"meta_2\"]},\n",
    ")\n",
    "# construct pandas table to show the joined, selected and generated data\n",
    "print(pd.DataFrame(dataset.data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load and fill the missing values and convert data types\n",
    "In this tutorial, the `s000005` image has many missing values in CSV file1 and file2. Here we select some columns and set the default value to the missing value of `image` column, and also try to convert `ehr_1` to `int` type."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  subject_id     label     ehr_0  ehr_1     ehr_9  meta_1\n",
      "0    s000000       5.0  2.007843      2  6.301961    True\n",
      "1    s000001       0.0  6.839216      6  5.219608    True\n",
      "2    s000002       4.0  3.772549      4  1.882353   False\n",
      "3    s000003       1.0  3.333333      3  3.309804   False\n",
      "4    s000004       9.0  6.427451      6  2.062745    True\n",
      "5    s000005  No label       NaN      0  3.353656    True\n"
     ]
    }
   ],
   "source": [
    "dataset = CSVDataset(\n",
    "    src=[filepath1, filepath2, filepath3],\n",
    "    col_names=[\"subject_id\", \"label\", \"ehr_0\", \"ehr_1\", \"ehr_9\", \"meta_1\"],\n",
    "    col_types={\"label\": {\"default\": \"No label\"}, \"ehr_1\": {\"type\": int, \"default\": 0}},\n",
    "    how=\"outer\",  # will load the NaN values in this merge mode\n",
    ")\n",
    "# construct pandas table to show the joined, selected and converted data\n",
    "print(pd.DataFrame(dataset.data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Execute transforms on the loaded data\n",
    "Here we load the JPG image from the `image` value, and convert `ehr` group to numpy array."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'> [2.00784326 2.29019618 2.05490208 3.01960802 3.80784321]\n",
      "<class 'numpy.ndarray'> [6.83921575 6.47450972 5.86274481 5.19215727 5.27450991]\n",
      "<class 'numpy.ndarray'> [3.77254891 4.21176481 4.63529444 5.29803944 9.54509735]\n",
      "<class 'numpy.ndarray'> [3.33333325 3.23529434 3.4000001  3.16470575 3.08627462]\n",
      "<class 'numpy.ndarray'> [6.42745113 6.25490189 5.97647095 6.26274538 7.71764708]\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 720x720 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset = CSVDataset(\n",
    "    src=[filepath1, filepath2, filepath3],\n",
    "    col_groups={\"ehr\": [f\"ehr_{i}\" for i in range(5)]},\n",
    "    transform=Compose([LoadImaged(keys=\"image\"), ToNumpyd(keys=\"ehr\")]),\n",
    ")\n",
    "# test the transformed `ehr` data:\n",
    "for item in dataset:\n",
    "    print(type(item[\"ehr\"]), item[\"ehr\"])\n",
    "\n",
    "# plot the transformed image array\n",
    "plt.subplots(1, 5, figsize=(10, 10))\n",
    "for i in range(5):\n",
    "    plt.subplot(3, 3, i + 1)\n",
    "    plt.xlabel(dataset[i][\"subject_id\"])\n",
    "    plt.imshow(dataset[i][\"image\"], cmap=\"gray\", vmin=0, vmax=255)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load CSV files with `CSVIterableDataset`\n",
    "`CSVIterableDataset` is designed to load data chunks from stream or very big CSV files, it doesn't need to load all the content at the beginning. And it can support most of above features of `CSVDataset` except for selecting rows.\n",
    "\n",
    "Here we load CSV files with `CSVIterableDataset` in multi-processing method of DataLoader."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "dataset = CSVIterableDataset(src=[filepath1, filepath2, filepath3], shuffle=False)\n",
    "# set num workers = 0 for mac / win\n",
    "num_workers = 2 if sys.platform == \"linux\" else 0\n",
    "dataloader = DataLoader(dataset=dataset, num_workers=num_workers, batch_size=2)\n",
    "for item in dataloader:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Shuffle content with `CSVIterableDataset`\n",
    "\n",
    "To effectively shuffle the data in the big dataset,  `CSVIterableDataset` supports to set a big buffer to continuously store the loaded chunks, then always randomly pick data from the buffer for following tasks."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = CSVIterableDataset(\n",
    "    chunksize=2,\n",
    "    buffer_size=4,\n",
    "    src=[filepath1, filepath2, filepath3],\n",
    "    col_names=[\"subject_id\", \"label\", \"ehr_1\", \"ehr_7\", \"meta_1\"],\n",
    "    transform=ToNumpyd(keys=\"ehr_1\"),\n",
    "    shuffle=True,\n",
    "    seed=123,\n",
    ")\n",
    "\n",
    "# set num workers = 0 for mac / win\n",
    "num_workers = 2 if sys.platform == \"linux\" else 0\n",
    "dataloader = DataLoader(dataset=dataset, num_workers=num_workers, batch_size=2)\n",
    "for item in dataloader:\n",
    "    print(item)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Cleanup data directory\n",
    "\n",
    "Remove directory if a temporary was used."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "if directory is None:\n",
    "    shutil.rmtree(root_dir)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
